<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
	
</head>

<body>
	<ul>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
		<li>1</li>
	</ul>
    <script>
	    /*
		for(表达式1;表达式2;表达式3){
			// 循环代码块
		}
		语法：1、三个表达式可以省略，但是两个分号必须有！！！！
			  2、表达式1在for循环中只会执行一次

		开始：1、执行表达式1
		循环：2、判断表达式2的结果转布尔（隐式转换）为真   执行循环代码块  再执行表达式3  循环判断
			  										  假   for循环执行完毕
			  		


		建议：一般情况下：表达式1为声明
						  表达式2为条件
						  表达式3为增量

       */
		
	


        // 案例1:for中的死循环

		//1、 不写表达式2是死循环
		//2、 表达式2的结果 转布尔值 永远为真！

        // 案例2: for中的i

		//1、控制循环中的循环次数
		//2、在循环外部，i是第一个不符合条件的值

        // 案例3: 计算50以内的奇数累加和
		
		// var sum = 0 // 累加值

		// for(var i = 1;i<=50;i+=2){
		// 	// 累加每一次的结果
		// 	sum+=i
		// }
		// console.log(sum)

		// 初始化：sum = 0 i = 1
		// 循环判断： 1<=50 真 sum = 1  i = 3
		// 		  3<=50 真 sum = 4  i = 5
		// 		  5<=50 真 sum = 9  i = 7
	
        // 案例4: 找出30以内除了16和20,能被4整除的数的累加和
		//var sum = 0;
		//for(var i = 0;i<=30;i++){
			//if(i % 4 === 0 && i!==16 && i!==20){
				//sum+=i
			//}
		//}
		//console.log(sum)
		
		
		// 案例12: 用for循环在页面输出 h1-h6标签，内容为'这是h?标签'
		
		// for(var i = 1;i<=6;i++){
		// 	document.body.innerHTML +=`<h${i}>这是h${i}标签</h${i}>`
		// }

		// 初始化：i = 0
		// 循环判断：1<=6 为真   拼接字符串 `<h1>这是h1标签</h1>`   i = 2  这时候页面包含h1
		//          1<=6 为真   拼接字符串 `<h2>这是h2标签</h2>`   i = 2  这时候页面包含h1 h2


        // 案例6:公园里有一只猴子和一堆桃子，猴子每天吃掉桃子总数的一半，把剩下一半中扔掉一个坏的。 
        // 到第七天的时候，猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子？
		// var tao = 1,tao1 = 382
		// for(var i = 0;i<7;i++){
		// 	tao = (tao + 1) * 2
		// 	tao1 = tao1 / 2 -1
		// }
		// console.log(tao)
		// console.log(tao1)

		
		// 案例13: 统计字符串 "hello world"中'o'和'l'总共出现了多少次


        // 案例19: 有一个棋盘，有64个方格，在第一个方格里面放1粒芝麻重量是0.00001kg，第二个里面放2粒，第三个里面放4，

		
        // 案例21一张纸的厚度大约是0.08mm，对折多少次之后能达到珠穆朗玛峰的高度（8848.13米）？

		// **********************************************************************************************

        // 案例7: 循环中的continue和break;


         // 案例8: 在页面上用红色的❤打印7*7的正方形
		
		//  for(var i = 1;i<=7;i++){ // 外层for 循环控制行数
		// 	 for(var j = 1;j<=7;j++){  //内层for 控制每行的个数
		// 		document.write("*") // 打印星星
		// 	 }
		// 	 // 每行结束打印换行
		// 	document.write("<br />") // 换行
		//  }
	    // 初始化i = 1 ;  
		// 外层第一次判断 i<=7 执行代码块
		//       内层 j = 1 ; 1<=7  打印*  j = 2 
        //                2<=7  打印*  j = 3
		// 			   3<=7  打印*  j = 4
		// 			   4<=7  打印*  j = 5
		// 			   5<=7  打印*  j = 6
		// 			   6<=7  打印*  j = 7
		// 			   7<=7  打印*  j = 8
		// 			   8<=7  false
		// 			   换行
		// 外层第二次判断i = 2  i<=7
		// 		内层  j = 1 ; 1<=7  打印*  j = 2 
        //                2<=7  打印*  j = 3
		// 			   3<=7  打印*  j = 4
		// 			   4<=7  打印*  j = 5
		// 			   5<=7  打印*  j = 6
		// 			   6<=7  打印*  j = 7
		// 			   7<=7  打印*  j = 8
		// 			   8<=7  false
		// 			   换行

        // 案例9: 在页面上用红色的❤打印正三角

		//for(var i = 7;i<=7;i++){
		//	for(var j = 1;j<=i;j++){
		//		document.write(" * ")
		//	}
		//	document.write("<br />")
		//}
		
		//document.body.style.textAlign = "center"
		//i = 1
		//  j = 1  *
		//  j = 2  换行
		//i =2
		//   j = 1 *
		//   j = 2 *
		 //  j = 3 换行

         // 案例10: 在页面上用红色的❤打印倒三角


         // 案例11: 打印九九乘法表♂'

		// 1 * 1 = 1

		// 1 * 2 = 2 2 * 2 = 4

		// 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9

		//for(var i = 9;i>=1;i--){
			//for(var j = 9;j>=i;j--){
			//	document.write(`${j} * ${i} = ${j * i}   `)
			//}
			//document.write("<br />")
		//}
		
       
        // 案例15 : 100元购物卡，牙刷5元，香皂2元、洗发水15元 100元正好花完有多少种可能
		//var num = 0;
		//for(var i = 0;i<=20;i++){
		//	for(var j = 0;j<=50;j++){
		//		for(var k = 0;k<=6;k++){
		//			if(i * 5 + j * 2 + k *15 === 100){
		//				num++
		//			}
		//		}
		//	}
		//}
		//console.log(num)
		

        // 案例16: 过7


       


        // 案例18:大马驮2石粮食，中马驮1石粮食，两头小马驮一石粮食，要用100匹马，驮100石粮食，该如何调配？


    
        // 案例22:打印出所有的 "水仙花数 "，所谓 "水仙花数 "是指一个三位数，其各位数字立方和等于该数本身。
        // 例如：153是一个 "水仙花数 "，因为153=1的三次方＋5的三次方＋3的三次方。

        // 案例22:菱形
		
		// 猜数
		//var num = Math.floor(Math.random() * 100)
		//for(var i = 1;;i++){
			//var userNum = prompt(`请进行第${i}次猜数`)
			//if(userNum>num){
				//console.log("输入过大")
			//} else if(userNum<num){
				//console.log("输入过小")
			//} else{
				//alert(`第${i}次回答正确`)
				//break;
			//}
		//}
		

		//var str = "qwertyuiop"
		//for(var i = 0;i < str.length;i++){
			//console.log(str[i])
		//}

		//var lis = document.querySelectorAll("li")
		//for(var i = 0;i<lis.length;i++){
			//lis[i].innerHTML = `这是第${i}个li`
			//lis[i].style.backgroundColor = `#${i}${i}${i}`

			//if(i % 2===0){
			//	lis[i].style.backgroundColor = "red"
			//} else{
			//	lis[i].style.backgroundColor = "green"
			//}
		//}
		//var arr = [1,2,3,4,5,6,7,8,9,10],sum = 0
		//for(var i = 0;i<arr.length;i++){
			//sum+=arr[i]
		//}
		//console.log(sum)

		var str = "123qwe5g57"
		var sum = 0;
		for(var i = 0;i<str.length;i++){
			if(!isNaN(str[i])){
				sum += +str[i]
			}
		}
		console.log(sum)


		 // 案例17: 100以内的质数、只能被1和自己整除
	    
		 for(var i = 2;i<=100;i++){
			var num = 0
			for(var j = 1;j<=i;j++){
				if(i % j === 0){
					num ++
				}
			}

			if(num === 2){
				console.log(i)
			}
		 }	
    </script>

</body>

</html>